package com.atguigu.springcloud.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.cloud.stream.messaging.Sink;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;

@Component
@EnableBinding(Sink.class)//Stream注解，表明当前类是一个消息消费者类，指定要监听的数据源
public class ReceiveMessageListenerController {

    //从配置文件中获取当前项目的服务端口号，用来标识项目
    @Value("{server.port}")
    private String port;

    //从指定的Stream消息驱动的指定消息通道和消息队列中获取指定类型和指定位置的信息：
    @StreamListener(Sink.INPUT)//指定下边的方法为消息消费者中的方法，指定要监听的输入源
    public void input(Message<String> message){
        System.out.println("消费者1号，------->接收到的消息：" + message.getPayload()+"\t port: "+port);
    }
}
